package org.gd.hellojaxb.privat24.regular;

import javax.xml.bind.annotation.*;
import java.util.Date;

@XmlRootElement(name = "request")
@XmlAccessorType(XmlAccessType.FIELD)
public class CreateMobileRegularPayRequest {

    @XmlRootElement(name = "id")
    @XmlAccessorType(XmlAccessType.FIELD)
    @SuppressWarnings("unused")
    public static final class Request {

        @XmlAttribute(name = "ExtRef")
        private String mobileNumber;
        @XmlAttribute(name = "PmName")
        private String destination;
        @XmlAttribute(name = "RegName")
        private String description;
        @XmlAttribute(name = "LDAPPr")
        private String ldap;
        @XmlAttribute(name = "PmSum")
        private Double amount;
        @XmlAttribute(name = "DayNum")
        private Integer dayNum;
        @XmlAttribute(name = "Period")
        private RegularPayPeriod period;
        @XmlAttribute(name = "DateStart")
        private Date dateStart;
        @XmlAttribute(name = "Branch_a")
        private String branch;
        @XmlAttribute(name = "bank")
        private RegularPayBank bank;
        @XmlAttribute(name = "Pan_a")
        private String card;
        @XmlAttribute(name = "Clid")
        private Long ekbId;

        public Request() {
        }

        public String getMobileNumber() {
            return mobileNumber;
        }

        public Request setMobileNumber(String mobileNumber) {
            this.mobileNumber = mobileNumber;
            return this;
        }

        public String getDestination() {
            return destination;
        }

        public Request setDestination(String destination) {
            this.destination = destination;
            return this;
        }

        public String getDescription() {
            return description;
        }

        public Request setDescription(String description) {
            this.description = description;
            return this;
        }

        public String getLdap() {
            return ldap;
        }

        public Request setLdap(String ldap) {
            this.ldap = ldap;
            return this;
        }

        public Double getAmount() {
            return amount;
        }

        public Request setAmount(Double amount) {
            this.amount = amount;
            return this;
        }

        public Integer getDayNum() {
            return dayNum;
        }

        public Request setDayNum(Integer dayNum) {
            this.dayNum = dayNum;
            return this;
        }

        public RegularPayPeriod getPeriod() {
            return period;
        }

        public Request setPeriod(RegularPayPeriod period) {
            this.period = period;
            return this;
        }

        public Date getDateStart() {
            return dateStart;
        }

        public Request setDateStart(Date dateStart) {
            this.dateStart = dateStart;
            return this;
        }

        public String getBranch() {
            return branch;
        }

        public Request setBranch(String branch) {
            this.branch = branch;
            return this;
        }

        public RegularPayBank getBank() {
            return bank;
        }

        public Request setBank(RegularPayBank bank) {
            this.bank = bank;
            return this;
        }

        public String getCard() {
            return card;
        }

        public Request setCard(String card) {
            this.card = card;
            return this;
        }

        public Long getEkbId() {
            return ekbId;
        }

        public Request setEkbId(Long ekbId) {
            this.ekbId = ekbId;
            return this;
        }
    }

    @XmlElement(name = "id")
    private Request request;

    public CreateMobileRegularPayRequest() {
        request = new Request();
    }

    public Request getRequest() {
        return request;
    }
}
